#include <iostream>
#include <queue>
using namespace std;

priority_queue<int,vector<int>,greater<int>> q1,q2;

signed main()
{
    int n, m;
    cin >> n >> m;
    int a[100005];
    for (int i = 0; i < n; i++)    cin >> a[i];
    for(int i=0;i<m;i++)    q1.push(a[i]);
    int j = m,flag = 0;
    while(!q1.empty()){
        int num = q1.top();
        q1.pop();
        if(j<n){
            if(a[j]>num)    q1.push(a[j]);
            else    q2.push(a[j]);
            j++;
        }
        if(flag)    cout<<" ";
        cout<<num;
        flag = 1;
        if(q1.empty()){
            cout<<"\n";
            swap(q1,q2);
            flag = 0;
        }    
    }
    return 0;
}
